package com.ship.contract.bean;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ship.common.core.base.BaseBean;
import com.ship.common.core.base.Joinable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 港口信息
 *
 * @author AbyssRabbit@163.com
 * @since 2023-10-23
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sp_port_information")
public class SpPortInformation extends BaseBean implements Joinable {

    /**
     * 序号 
     */
    @TableId
    @TableField("id")
    private Long id;

    /**
     * 港口名称（中文） 
     */
    @TableField("port_name_chinese")
    private String portNameChinese;

    /**
     * 港口名称（英文） 
     */
    @TableField("port_name_english")
    private String portNameEnglish;

    /**
     * 港口类型（1：港口，2：接收站）
     */
    @TableField("port_type")
    private String portType;

    public String getPortType() {
        return portType;
    }

    public void setPortType(String portType) {
        this.portType = portType;
    }

    /**
     * 港口名称（中文名）
     */
    @TableField("parent_port_name")
    private String parentPortName;

    public String getParentPortName() {
        return parentPortName;
    }

    public void setParentPortName(String parentPortName) {
        this.parentPortName = parentPortName;
    }

    /**
     * 港口代码 
     */
    @TableField("port_code")
    private String portCode;

    /**
     * 港口所在地坐标 
     */
    @TableField("coordinates_of_port_location")
    private String coordinatesOfPortLocation;

    /**
     * 港口所在地时区 
     */
    @TableField("time_zone_of_port_location")
    private String timeZoneOfPortLocation;

    /**
     * 港口建造年份 
     */
    @TableField("year_of_port_construction")
    private Integer yearOfPortConstruction;

    /**
     * 港口国别 
     */
    @TableField("port_country")
    private String portCountry;

    /**
     * 液化天然气储罐的总容量 
     */
    @TableField("lng_storage")
    private BigDecimal lngStorage;

    /**
     * 接卸能力 
     */
    @TableField("unloading_capacity")
    private Integer unloadingCapacity;

    /**
     * 锚地信息 
     */
    @TableField("anchorage_information")
    private String anchorageInformation;

    /**
     * 船舶准入条件 
     */
    @TableField("vessel_access_conditions")
    private String vesselAccessConditions;

    /**
     * 装/卸载要求 
     */
    @TableField("loading_unloading_requirements")
    private String loadingUnloadingRequirements;

    /**
     * 泊位信息 
     */
    @TableField("berth_information")
    private String berthInformation;

    /**
     * 在港船舶信息 
     */
    @TableField("information_of_ships_in_port")
    private String informationOfShipsInPort;

    /**
     * 在港船舶作业情况 
     */
    @TableField("operation_of_ships_in_port")
    private String operationOfShipsInPort;

    /**
     * 港口装货量 
     */
    @TableField("port_loading_volume")
    private String portLoadingVolume;

    /**
     * 港口卸货量 
     */
    @TableField("port_discharge_volume")
    private String portDischargeVolume;

    /**
     * 股东信息 
     */
    @TableField("shareholder_information")
    private String shareholderInformation;

    /**
     * 接卸时间 
     */
    @TableField("unloading_time")
    private String unloadingTime;

    /**
     * 航道信息 
     */
    @TableField("channel_information")
    private String channelInformation;

    /**
     * 气质信息
     */
    @TableField("temperament_information")
    private String temperamentInformation;

    /**
     * 引航、拖轮等相关港口进出港制度信息 
     */
    @TableField("related_information")
    private String relatedInformation;

    /**
     * 创建时间
     */
    @TableField("create_date")
    private Date createDate;

    /**
     * 创建人
     */
    @TableField("create_by")
    private String createBy;

    @ApiModelProperty(value = "港口国别（中文）")
    @TableField("port_country_cn")
    private String portCountryCn;

    @ApiModelProperty(value = "区域")
    @TableField("continent_name")
    private String continentName;

    @ApiModelProperty(value = "经度")
    @TableField("lon")
    private String lon;

    @ApiModelProperty(value = "纬度")
    @TableField("lat")
    private String lat;

    @ApiModelProperty(value = "类型")
    @TableField("type")
    private String type;

    @ApiModelProperty(value = "最大吃水")
    @TableField("maximum_draft")
    private String maximumDraft;

    @ApiModelProperty(value = "最大 DWT ")
    @TableField("max_dwt")
    private String maxDwt;

    @ApiModelProperty(value = "最大船长")
    @TableField("max_loa")
    private String maxLoa;

    @ApiModelProperty(value = "最大宽度")
    @TableField("max_beam")
    private String maxBeam;

    @Override
    public String getLabel() {
        return null;
    }

    @Override
    public String getValue() {
        return null;
    }
}
